// Admin.js
import React, { useState, useEffect } from 'react';
import Web3 from 'web3';
import { useParams, Link } from 'react-router-dom';
// import '../static/css/app.css'; // 导入 CSS 文件

import AdminABI from '../contract/ABIs/Admin.json'; // 管理员合约 ABI
import AdminNavBar from './nav/AdminNavBar.js';
import $ from 'jquery';
// import '../static/indexcss/aacsss.css';
import Eye from './Eye.js'
import Admin_integralNavBar from './nav/Admin_integralNavBar.js'



const Admin_integral = () => {
    const [web3, setWeb3] = useState(null);
    // 使用 useParams 获取路由参数中的地址信息
    const { address } = useParams();
    const [contractAdmin, setcontractAdmin] = useState(null);
    const [isAdmin, setIsAdmin] = useState(false);

    useEffect(() => {
        // 重置字体大小为默认值（例如16px）  
        $("html").css({ fontSize: '16px' });
    }, []);
    useEffect(() => {
        async function init() {
            // 连接到以太坊网络
            if (window.ethereum) {
                const web3Instance = new Web3(window.ethereum);
                try {
                    // 请求用户授权
                    await window.ethereum.enable();
                    setWeb3(web3Instance);
                    // 创建管理员合约实例
                    const adminInstance = new web3Instance.eth.Contract(
                        AdminABI,
                        address
                    );
                    setcontractAdmin(adminInstance);
                    // 获取当前用户的以太坊账户地址
                    const accounts = await web3Instance.eth.getAccounts();
                    const currentAddress = accounts[0];
                    // 获取管理员合约的 owner 地址
                    const ownerAddress = await adminInstance.methods.getOwner().call();
                    // 检查当前账户是否是管理员本人
                    setIsAdmin(currentAddress === ownerAddress);
                } catch (error) {
                    console.error(error);
                }
            } else {
                console.error('请安装以太坊浏览器插件，如 MetaMask');
            }
        }
        init();
    }, [address]);
    return (
        <div>
            {/* 如果当前账户不是管理员，则显示提示信息 */}
            {!isAdmin && (<div>您没有权限访问此页面。</div>)}
            {/* 管理员界面 */}
            {isAdmin && (
                <div>
                    <Admin_integralNavBar address={address} />

                    <main className="page hire-me-page">
                        <section className="portfolio-block hire-me">
                            <Eye />
                            <div className="container">
                                <div className="border rounded border-0 shadow-lg p-3 p-md-5"
                                    data-bs-theme="light"
                                    style={{
                                        backgroundColor: 'rgba(36, 36, 41, 0.6)'
                                    }}
                                >
                                    <div className="container">
                                        <h1>欢迎来到积分管理</h1>
                                    </div>
                                </div>
                            </div>
                        </section>
                    </main>


                </div>
            )}
        </div>
    );
}

export default Admin_integral;
